<?php
$config = Config::getInstance();

$id_loja    = $config->filter('loja');
$id_agente  = $config->filter('agente');

include_once CONTROLLERS.'loja.php';
include_once CONTROLLERS.'funcionario.php';
$lojaController = new LojaController();
$funcController = new FuncionarioController();

$resumed    = !($config->filter('resumida') == null);
$func_build = $resumed ? 'build_resumed_list_vendas' : 'build_detailed_list_vendas' ;

if(empty($id_loja)){
    $lojas = $lojaController->getAllLojas();
    foreach($lojas as $loja){
        $agentes = $funcController->getAllAgentesVenda($loja->id);
        foreach ($agentes as $agente) {
            $func_build($agente, $loja);
        }
    }
} else {
    $loja = $lojaController->getLoja($id_loja);
    if(empty($id_agente)){
        $agentes = $funcController->getAllAgentesVenda($loja->id);
    } else {
        $agentes = array($funcController->getFuncionario($id_agente));
    }
    foreach ($agentes as $agente) {
        $func_build($agente, $loja);
    }
}

if($resumed){
    echo '</tbody>';
    echo '</table>';
    echo '</div>';
}

function build_resumed_list_vendas(Funcionario $agente, Loja $loja) {
    static $last_loja = null;
    if($last_loja != $loja->id ){
        if($last_loja != null) {
            echo '</tbody>';
            echo '</table>';
            echo '</div>';
        }
        $last_loja = $loja->id;
        
        echo  '<p class=\'name\'> Relatorios das vendas dos agentes de vendas da '.$loja->sigla.'</p>';
        echo '<div class=\'content\'>';

        echo '<table>';

        echo '<thead>';
        echo '<tr>';
        echo '<th>Agente</th>';
        echo '<th>Qtd. Vendas</th>';
        echo '<th>Valor Total</th>';
        echo '</tr>';
        echo '</thead>';

        echo '<tbody>';
    }
    
    $config = Config::getInstance();
    
    $data_ini   = $config->filter('data-inicial');
    $data_fim   = $config->filter('data-final');
    
    $vendas = $config->currentController->getVendasByAgente($agente->id, false, $data_ini, $data_fim);
    $sum = 0;
    $qtd = count($vendas);
    for($i = 0; $i < $qtd; $i++){
        $sum += $config->currentController->getValorOfVenda($vendas[$i]->id);
    }
    echo '<tr>';
    echo '<td>'.$agente->nome.'</td>';
    echo '<td>'.$qtd.'</td>';
    echo '<td>R$ '.$config->maskDinheiro($sum).'</td>';
    echo '</tr>';
}

function build_detailed_list_vendas(Funcionario $agente, Loja $loja) {
    $config = Config::getInstance();
    
    $data_ini   = $config->filter('data-inicial');
    $data_fim   = $config->filter('data-final');
    
    $vendas = $config->currentController->getVendasByAgente($agente->id, true, $data_ini, $data_fim);
    echo  '<p class=\'name\'> Relatorios das vendas do agente de vendas <b>'.$agente->nome.'</b> da '.$loja->sigla.'</p>';

    echo '<div class=\'content\'>';
    
    echo '<table>';
    
    echo '<thead>';
    echo '<tr>';
    echo '<th>Nº</th>';
    echo '<th>Data</th>';
    echo '<th>Cliente</th>';
    echo '<th>Valor</th>';
    echo '</tr>';
    echo '</thead>';
    
    echo '<tbody>';
    $count = 1;
    foreach($vendas as $venda){
        $valor = $config->currentController->getValorOfVenda($venda->id);
        $class = !($count % 2) ? 'class=\'par\'' : '' ; 
        echo '<tr '.$class.'>';
        echo '<td>'.$venda->id.'</td>';
        echo '<td>'.$config->maskData($venda->dataVenda).'</td>';
        echo '<td>'.$venda->cliente.'</td>';
        echo '<td>R$ '.$config->maskDinheiro($valor).'</td>';
        echo '</tr>';
        $count++;
    }
    echo '</tbody>';
    
    echo '</table>';
    
    echo '</div>';
}

?>
<style>
.content table {text-align: center; width: 100%;}
.content table thead th { background: gray; color: white; padding: 5px; border: #666 solid 1px;}
.content tbody tr td { padding: 5px; border-bottom: lightgray solid 1px; border-left: lightgray solid 1px; }
.content tbody tr.par { background: #eee; }
</style>
